package com.senac.service;

import com.senac.exception.GerenciamentoEscolaException.ERROR;
import com.senac.exception.UsuarioException;
import com.senac.model.Usuario;

public class UsuarioValidate {

	public static void validateUsuario(Usuario usuario) throws UsuarioException {
		
		if(usuario.getLogin() == null || usuario.getLogin().equals("")) {
			UsuarioException ex = new UsuarioException(ERROR.USER_NAME_EMPTY);
			throw ex;
		}
		
		if(usuario.getLogin().length() < 5 || usuario.getLogin().length() > 30) {
			UsuarioException ex = new UsuarioException(ERROR.USER_NAME_INVALID_LENGTH);
			throw ex;
		}
		
		if(usuario.getSenha() == null || usuario.getSenha().equals("")) {
			UsuarioException ex = new UsuarioException(ERROR.PASSWORD_EMPTY);
			throw ex;
		}
		
		if(usuario.getSenha().length() < 5) {
			UsuarioException ex = new UsuarioException(ERROR.PASSWORD_MIN);
			throw ex;
		}
		
		if(usuario.getEmail() == null || usuario.getEmail().length() < 5 || !usuario.getEmail().contains("@")) {
			UsuarioException ex = new UsuarioException(ERROR.EMAIL_EMPTY_OR_INVALID);
			throw ex;
		}
		
		
		if(!new UsuarioService().verifyLogin(usuario.getLogin(), usuario.getId())) {
			UsuarioException ex = new UsuarioException(ERROR.USER_NAME_EXIST);
			throw ex;
		}
	}
	
}
